import { defineConfig } from 'vite';
import packageJson from './package.json';
import vue from '@vitejs/plugin-vue';
import css from 'rollup-plugin-css-porter';

export default defineConfig({
  plugins: [
    vue({
      cssCodeSplit: false, // 设置为 false 以防止 CSS 被提取到单独的文件
    }),
    // 使用 rollup-plugin-css-porter 处理 CSS
    css({
      // 输出选项
      output: (styles, styleNodes) => {
        return `export default ${JSON.stringify(styles)};`;
      },
    }),
  ],
  define: {
    'process.env.NODE_ENV': JSON.stringify('production'), // 或者您需要的任何值
  },
  build: {
    lib: {
      entry: 'src/index.js',
      name: packageJson.name,
      outDir: 'dist',
      fileName: (format) => `package/${packageJson.name}.${format}.js`,
      formats: ['es', 'cjs'],
    },
    rollupOptions: {
      // 确保外部化 Vue
      external: ['vue'],
      output: {
        globals: {
          vue: 'Vue',
        },
      },
      // // 确保在 iife 格式下正确设置全局变量
      // output: {
      //   format: 'iife',
      //   globals: {
      //     vue: 'Vue' // 如果您的组件依赖于 Vue，需要在这里声明
      //   },
      // },
    },
  },
});
